package cn.hinglo.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;


/**
 * @author HingLo
 * @createTime: 2018/1/4
 * @description: 错误类型返回定义
 */
@Getter
@AllArgsConstructor
public enum ExceptionEnum {
    /**
     * 其他未知异常
     */
    ORTHERERROR(-1, "其他异常类型"),
    /**
     * 请求头错误的返回码
     */
    HEADERERROR(-2, "请求头错误"),
    /**
     * token失效的返回码
     */
    TOKENINVALID(-3, "token invalid ,请重新登录"),
    /**
     * 账号或者密码错误返回码
     */
    LOGINERROR(-4, "账号或者密码错误"),

    /***
     * 数据库层抛出的异常
     */
    DATABASEERROR(300, "数据库操作异常"),
    /***
     * 参数校验异常
     */
    PARAMERROR(400, "参数注入异常,请检查参数类型"),
    /**
     * 使用注解参数校验位通过抛出异常的定义
     */
    VIOLATIONERROR(100, "参数注入异常,请检查参数类型"),
    /**
     * 缺少必传参数异常
     */
    NEEDPARAM(101, "缺少必传参数!请检查请求参数"),
    /**
     * 403 not permission
     */
    NOT403(403, "你没有权限访问该资源"),
    /**
     * 404 not find url
     */
    NOT404(404, "你访问的URL不存在,请检查URL"),
    /**
     * 405 request method not allow
     */
    NOT405(405, "请求方式不支持,请是使用正确的请求方式"),

    /**
     * 服务器异常
     */
    SERVLETERROR(500, "服务器异常");

    private Integer code;

    private String message;

}
